Use Blacksmith as macOS CI default#5019
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughReplace WarpBuild macOS runner fallbacks with Blacksmith labels across workflows, remove Warp labels from the actionlint allowlist, update docs to reflect MACOS_RUNNER_* → Blacksmith fallbacks, and tighten CI guard tests to accept only Blacksmith or repo-variable runner references. ChangesmacOS runner migration from WarpBuild to Blacksmith
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 17 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (17 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThis PR switches the default macOS CI runner provider from Warp to Blacksmith across all paid workflow jobs. When
Confidence Score: 5/5Safe to merge — all changes are mechanical label replacements with no logic alterations, and the guard test is kept in sync. Every warp-macos-* reference is replaced uniformly with the corresponding blacksmith-6vcpu-macos-* label across all affected workflows, the actionlint allowlist, the SPM cache keys, the manual dispatch dropdowns, and the guard regression test. The Depot identity guard path in test-e2e.yml is preserved and correctly updated. No conditional logic, timeouts, or job dependencies changed. The repo-variable override mechanism remains intact so operators can redirect runners without a code change. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Workflow runs-on expression] --> B{vars.MACOS_RUNNER_15\nor MACOS_RUNNER_26 set?}
B -- Yes --> C[Use repo variable value]
B -- No --> D[Use checked-in Blacksmith default\nblacksmith-6vcpu-macos-15/26]
C --> E{Runner starts with\ndepot-macos-?}
D --> E
E -- Yes --> F[Validate Depot runner identity\ntest-e2e.yml only]
E -- No --> G[Run job normally]
F --> G
H[Capacity event] --> I[gh variable set MACOS_RUNNER_15\nto alternate paid runner]
I --> C
Reviews (2): Last reviewed commit: "Document macOS runner capacity override" | Re-trigger Greptile |
| Remove the override and use the checked-in Blacksmith defaults: | ||
|
|
||
| ```bash | ||
| gh variable delete MACOS_RUNNER_15 --repo manaflow-ai/cmux | ||
| gh variable delete MACOS_RUNNER_26 --repo manaflow-ai/cmux | ||
| ``` |
There was a problem hiding this comment.
No documented escape hatch for Blacksmith capacity outages
The PR description explicitly cites a past event where Blacksmith queues hit 55–126 minutes and caused a full revert (PR #4926). The old docs told operators to gh variable set … warp-macos-15-arm64-6x; that guidance is now gone, and Warp is removed from all workflow dropdowns and the actionlint allowlist. If Blacksmith queues surge again, an operator in a time-sensitive release has no documented runner to fall back to. The only option—setting MACOS_RUNNER_15/MACOS_RUNNER_26 to a different provider—is correct in principle, but the docs no longer say what labels are valid alternatives or where to find them.
Consider adding a brief "Emergency override" section that names at least one alternative runner label (e.g., a Warp or GitHub-hosted fallback) and notes that the label must also be added to .github/actionlint.yaml before use.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
|
Paused merge after the refreshed PR run stayed queued on Blacksmith macOS runners for over 11 minutes without a runner assignment. Live repo variables have been restored to Warp for now: |
Summary
Make Blacksmith the checked-in default for paid macOS CI jobs when
MACOS_RUNNER_15/MACOS_RUNNER_26are unset. Remove Warp runner choices from manual workflows and actionlint config. Update runner docs and the CI guard to treat Blacksmith as the supported default.I also set the live repo variables to
blacksmith-6vcpu-macos-15andblacksmith-6vcpu-macos-26, so newmainruns use Blacksmith immediately.Queue check
blacksmith-6vcpu-macos-15: 16s queue, probe run canceled after startblacksmith-6vcpu-macos-26: 14s queue, probe run canceled after startTesting
tests/test_ci_self_hosted_guard.shactionlint -shellcheck= -config-file .github/actionlint.yaml .github/workflows/ci.yml .github/workflows/ci-macos-compat.yml .github/workflows/build-ghosttykit.yml .github/workflows/nightly.yml .github/workflows/release.yml .github/workflows/test-depot.yml .github/workflows/tmux-corpus.yml .github/workflows/perf-activation.yml .github/workflows/test-e2e.ymlFull
actionlintwith shellcheck still reports existing shellcheck findings in unrelated workflow scripts.Need help on this PR? Tag
@codesmithwith what you need. Autofix is disabled.Note
Medium Risk
Shifts all default macOS CI/release/nightly jobs to Blacksmith; queue capacity was the reason Warp was used before, so main CI timing could regress if Blacksmith queues spike again.
Overview
Paid macOS CI now defaults to Blacksmith when
MACOS_RUNNER_15/MACOS_RUNNER_26are unset: workflowruns-onfallbacks useblacksmith-6vcpu-macos-15andblacksmith-6vcpu-macos-26instead of Warp labels across ci, release, nightly, compat, e2e, perf, and related jobs.Warp is removed from
.github/actionlint.yaml, manualrunnerchoices in perf-activation and test-e2e, and related SPM cache keys / concurrency expressions. Docs (docs/macos-ci-runners.md) andtests/test_ci_self_hosted_guard.shnow treat Blacksmith as the only checked-in paid default; repo variables remain the override path for capacity incidents.Reviewed by Cursor Bugbot for commit 56156bd. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Switches paid macOS CI defaults to Blacksmith. Unset
MACOS_RUNNER_15/MACOS_RUNNER_26now fall back toblacksmith-6vcpu-macos-15/blacksmith-6vcpu-macos-26, not Warp, and docs cover temporary overrides during capacity events.runs-onfallbacks withblacksmith-6vcpu-macos-15andblacksmith-6vcpu-macos-26across workflows..github/actionlint.yaml; updated input text to say “then Blacksmith.”depot-macos-*options and identity guard for GUI activation runs.docs/macos-ci-runners.mdto make Blacksmith the checked-in default and document repo-variable capacity overrides.tests/test_ci_self_hosted_guard.shto allow onlyvars.MACOS_RUNNER_*or Blacksmith labels.Written for commit 56156bd. Summary will update on new commits.
Summary by CodeRabbit
Chores
Documentation
Tests